<?php
    @header('Content-type:text/html;charset=utf-8');

    @include_once("conn.php");  // 引入公共的配置文件
    

    // 查询语句  查询多条数据 
    // 如果语句执行成功 返回的查询结果对象包含数据(但是数据需要解析)   如果失败  --- false   

    $sql = "select id,name,class,chinese ,math,english, chinese+math+english as total from grade";

    $result = mysqli_query($conn,$sql);
    // print_r($result);

    if(!$result){   // $result = false sql语句出现问题  => 阻止脚本的继续向后面允许  
        $obj = array();
        $obj['status'] = false;
        $obj['detail'] = 'Sql语句有问题';
        $obj['sql'] = $sql;
        exit(json_encode($obj));
    }

    // 解析数据
    // mysqli_fetch_array($result);  传入一个结果对象  解析成功=> 返回及解析的数据(数组 数值数组+关联数组 ) 解析失败 => false   
    // (每次只能解析一条)
    // mysqli_fetch_assoc($result)   传入一个结果对象  解析成功=> 返回及解析的数据(数组 关联数组 ) 解析失败 => false
    // (每次只能解析一条)
    // $item = mysqli_fetch_array($result);    

    // 查询多条数据  
    // select count(*) from grade;
    // 1. push 
    // $all = array();
    // for($i=0;$i<5;$i++){
    //     $item = mysqli_fetch_assoc($result);
    //     print_r($item);
    //     array_push($all,$item);
    // }
    // echo json_encode($all);

    // 解析数据 将数据赋值给 某一个变量 $item(循环条件) 每次解析一条  有数据=>关联数组  解析失败 false  (有数据继续执行 没有数据直接跳出) 
    $all = array();
    while($item = mysqli_fetch_assoc($result)){
        array_push($all,$item);
    }
    // print_r($all);

    // 查询  
    // $all 是否有数据 判断长度 
    $obj = array();
    if(count($all)){   // length > 0 
        $obj["status"] = true;
        $obj["detail"] = '查询成功 - success';
        $obj["result"] = $all;
    }else{
        $obj["status"] = false;
        $obj["detail"] = '查询失败 - fail';
    } 

    echo json_encode($obj);

    // 删除  修改  添加  
?>